#ifndef CUSTOMPROGRESSBAR_H
#define CUSTOMPROGRESSBAR_H

#include <QProgressBar>
#include <QMouseEvent>

class CustomProgressBar : public QProgressBar
{
    Q_OBJECT

public:
    explicit CustomProgressBar(QWidget *parent = nullptr);

    // 新增的公共接口：设置百分比
    void setPercentage(int percentage);
    void setPercentage(double percentage); // 重载版本，支持浮点数百分比

    // 新增：获取当前百分比
    int getPercentage() const;
    double getPrecisePercentage() const;

signals:
    void progressClicked(int value); // 点击位置对应的值
    void percentageChanged(int percentage); // 新增：百分比变化信号
    void percentageChanged(double percentage); // 新增：精确百分比变化信号

protected:
    void mousePressEvent(QMouseEvent *event) override;
    void mouseMoveEvent(QMouseEvent *event) override;

private:
    void setProgressFromMousePosition(const QPoint &pos);
};

#endif // CUSTOMPROGRESSBAR_H
